package com.elitel.frame.main.dao.ext;

import com.elitel.frame.main.entity.SysFunction;
import com.elitel.frame.main.entity.SysPrjservice;
import com.elitel.frame.main.entity.ext.SysFunctionExt;
import com.elitel.frame.main.entity.vo.PageRequestVo;

import java.util.List;

public interface ExtSysFunctionMapper {
    /**
     * oracle 分页查询函数脚本信息
     *
     * @param pr
     * @return
     */
    List<SysFunctionExt> getSysFunctionByPaginationOracle(PageRequestVo<SysPrjservice> pr);

    /**
     * mysql分页查询函数信息
     *
     * @param pr
     * @return
     */
    List<SysFunctionExt> getSysFunctionByPaginationMysql(PageRequestVo<SysPrjservice> pr);

    List<SysFunctionExt> getSysFunctionByPaginationPG(PageRequestVo<SysPrjservice> pr);

    /**
     * 查询函数脚本总条数
     *
     * @param pr
     * @return
     */
    Long getSysFunctionCount(PageRequestVo<SysPrjservice> pr);

    /**
     * 根据主键批量删除函数信息
     *
     * @param list
     * @return
     */
    int deleteSysFunctionByGuids(List<String> list);

    /**
     * 根据项目编码获取函数信息
     *
     * @param pcode
     * @return
     */
    List<SysFunctionExt> getSysFunctionByPcode(String pcode);

    /**
     * 根据parametername来获取函数脚本
     *
     * @param funcname
     * @return
     */
    SysFunction getSysFunctionByFuncName(String funcname);
}